Field of the Invention
The present invention relates to an image recording apparatus for executing printing by relatively scanning and moving a carriage incorporating a recording head with respect to a recording medium, and a control method for the image recording apparatus.
Description of the Related Art
In recent years, inkjet printers each for executing printing by discharging ink from a recording head have become widespread. More specifically, serial head inkjet printers each for executing printing by discharging ink from a recording head while scanning and moving a carriage incorporating the recording head, and feeding, using a paper feed mechanism, a paper sheet to be printed have become widespread as home printers and the like.
In consideration of the user convenience, the print speed is increasing year by year by increasing the number of nozzles of a recording head or increasing the carriage moving speed by allowing high-speed discharge.
Furthermore, there is known a technique of further increasing the speed of print processing by shortening the moving distance in a scanning direction of a carriage and controlling conveyance of a recording medium in accordance with the layout of an image to be printed (for example, Japanese Patent No. 4479230).
A photo, document, or the like is input to a PC and printed on a paper surface using an inkjet printer. It is common practice to process the photo as an image format file such as a JPEG file, and process the document as a page description language file such as a PDF file. When executing printing on the PC, an application program for instructing printing is used. A printer driver intervenes between the application program and the printer. Upon receiving a print instruction, the application program interprets a file to be printed, rasterizes information of a photo or document described in the file into a bitmap image, and transmits the bitmap image to the printer driver. Upon receiving the bitmap image, the printer driver generally performs print image processing such as scaling, color space conversion, color separation, tone correction, and quantization for the image to obtain data unique to the printer, and performs a procedure of transmitting the data to the printer.
In recent years, printers for accepting printing from various terminals such as a smartphone and tablet terminal are increasing. Many of these terminals cannot incorporate a printer driver. Therefore, such terminal directly transmits a JPEG file, a PDF file, or the like to be printed to a printer to execute printing. That is, recent printers have a function of performing the same processing as that executed by the printer driver of a general PC.
Consequently, as for recent printers, while the print speed is increasing, various processing loads imposed on the printer main body are also increasing. In particular, print image processing needs to perform calculation for all pixels to be printed, thereby imposing a very heavy processing load. To cope with the processing load, the printer incorporates an ASIC including dedicated image processing hardware and a CPU.
On the other hand, the manufacturing cost of an ASIC having these features is high, and a speedup range is limited. More particularly, a processing clock rate improvement range is limited by the physical factors of elements forming a logic circuit.
A CPU for a general PC has this tendency. In recent years, an approach for improving the throughput by using a multicore CPU (parallelization) instead of increasing the clock rate of the CPU has been adopted. In general, if a single high-speed processing device and a low-speed processing device are prepared in parallel, the necessary performance of the latter processing device is suppressed lower, and the cost of the overall apparatus becomes lower. This method is effective also in a printer, and there is an example in which parallelization is implemented using a plurality of ASICs (Japanese Patent No. 3935335).
However, if processes for respective colors are parallelized, the parallelization count is limited to, at most, the number of ink colors. As an extreme example, there is no room for parallelization in a monochrome print mode using only one K ink color.
As another method of parallelizing image processes, an area to be processed may be divided and the respective divided areas may be parallelly processed. For example, by dividing an A4 paper surface into 4×4 rectangular areas, 16-parallel processing can theoretically be performed for an image on the A4 paper surface. However, such method of dividing an area to be processed is difficult to be applied to a serial head inkjet printer.
As a feature caused by the “serial head” of the serial head inkjet printer, even for the same image on the A4 paper surface, a processing sequence at the time of printing may largely be different depending on the layout of the image.
Consider, for example, a document of a layout shown in FIG. 8A. When this document is printed at a high speed by a printer incorporating a serial head, printing is executed by the scanning motion of the recording head in strip portions shown in FIG. 8B and conveyance of a recording paper sheet. This is because the scanning motion of a carriage is performed only in an area requiring printing without causing the head to scan the entire paper surface, and it is thus possible to shorten the total print time.
When performing such print processing, for example, while an upper portion 801 (an area in which a face is drawn) on the paper surface is printed, a print operation is performed for the left half area on the paper surface at about twice the normal speed. Consequently, while the upper portion 801 is printed, it is necessary to supply an image processing result to the recording head at twice the normal speed. On the other hand, while a center portion 802 (an area in which a balloon is drawn) on the paper surface is printed, a print operation is performed for the full width of the paper surface at the normal speed. Therefore, while the center portion 802 is printed, an image processing result is supplied to the recording head at the normal speed. Furthermore, while a lower portion 803 (an area in which characters are written) on the paper surface is printed, a print operation is performed for the right half area on the paper surface at about twice the normal speed. Consequently, while the lower portion 803 is printed, it is necessary to supply an image processing result to the recording head at twice the normal speed.
As described above, at the time of printing by an inkjet printer incorporating a serial head, the speed necessary to process each area on the paper surface is different depending on an image layout. Therefore, even if parallel processing is performed by simply dividing the paper surface into rectangles, an area on which a heavy processing load is locally imposed is undesirably generated, and it is thus impossible to take full advantage of parallelization.
More specifically, a case in which the image of FIG. 8A is divided into two areas shown in FIG. 9 to parallelize image processes is considered as a simple example.
The left half of the paper surface is indicated by area A and the right half of the paper surface is indicated by area B. Processing unit A takes charge of image processing for area A and processing unit B takes charge of image processing for area B. While an upper portion 901 (an area in which the face is written) on the paper surface is printed, the processing load concentrates on only processing unit A, and processing unit A needs to perform the processing at twice the normal speed. During this processing, there is no image to be processed by processing unit B, and thus the processing load is hardly imposed on processing unit B. In other words, parallelization produces no effects.
While a center portion 902 (an area in which the balloon is written) on the paper surface is printed, processing units A and B perform image processes by halving the processing load. Both of the processing units A and B performs the processing at the normal speed. The processing load is halved, as compared with a case in which one processing unit processes the same entire area. In other words, parallelization produces effects.
While a lower portion 903 (an area in which the characters are written) on the paper surface is printed, the processing load concentrates on only processing unit B, and processing unit B needs to perform the processing at twice the normal speed. During this processing, there is no image to be processed by processing unit A, and thus the processing load is hardly imposed on processing unit A. In other words, parallelization produces no effects.
In consideration of the above points, if processing units A and B parallelly execute the image processes on such parallelization basis, in order to guarantee the processing speed even when a heavy load is locally imposed, it is necessary to estimate twice the processing speed for each processing unit. Since twice the processing speed is estimated for a half the processing amount, each processing unit is required to have the normal processing speed.
That is, to guarantee the processing speed even under the worst conditions caused by an image layout, each processing unit is required to have the normal (non-parallel) processing speed even if parallelization is performed. As a result, a plurality of processing devices with the same cost as that of the normal (non-parallel) processing unit are prepared, and thus the cost advantage of parallelization cannot be obtained. In other words, if hardware performance is designed to be able to complete the processing within a given time for any layout, it becomes necessary to set an excessive throughput margin to cope with a case in which the load concentrates on a specific processing resource. As a result, the mounting cost of each processing resource may become high. In some cases, it is impossible to obtain a margin with the throughput of a circuit obtained in a practical manufacturing process.
If it is impossible to obtain a margin, the image processing may be delayed with respect to the print speed, and thus, for example, a scan stop time may be irregularly generated during a head scan. Generation of irregular stop times causes an irregular change in ink penetration conditions. As a result, a difference in ink penetration state between head scans may adversely affect the image quality due to color development unevenness, an image stripe, or the like.
As described above, in a printer incorporating a serial head, to preferably and efficiently implement parallelization by a plurality of processing units regardless of an image layout, it is necessary to calculate area division on demand in consideration of a head/paper feed sequence determined for each image to be printed. However, no such technique currently exists.